@abstractframework/continuum 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -6
- package/bin/server.js +6 -2
- package/dist/assets/{abnfDiagram-VRR7QNED-E9lbmtBV.js → abnfDiagram-VRR7QNED-BkCygcef.js} +2 -2
- package/dist/assets/{arc-XVGGKtJ-.js → arc-DkiQoXvp.js} +2 -2
- package/dist/assets/{architectureDiagram-ZJ3FMSHR-GRV2Ej0c.js → architectureDiagram-ZJ3FMSHR-WkJw8Cvt.js} +2 -2
- package/dist/assets/{blockDiagram-677ZJIJ3-Dz8wPMHC.js → blockDiagram-677ZJIJ3-B8HoFrN8.js} +2 -2
- package/dist/assets/{c4Diagram-LMCZKHZV-CAHne5Am.js → c4Diagram-LMCZKHZV-BIWuZCGJ.js} +2 -2
- package/dist/assets/channel-BQEXVd1j.js +2 -0
- package/dist/assets/{chunk-2Q5K7J3B-DFXMgoy3.js → chunk-2Q5K7J3B-nDhYcRFM.js} +2 -2
- package/dist/assets/{chunk-32BRIVSS-D9T7Whin.js → chunk-32BRIVSS-C2_qIhxb.js} +2 -2
- package/dist/assets/{chunk-5VM5RSS4-D8jr-VV1.js → chunk-5VM5RSS4-Ds5OtV9F.js} +2 -2
- package/dist/assets/{chunk-EX3LRPZG-BSkCDWzU.js → chunk-EX3LRPZG-BAm7QoTq.js} +2 -2
- package/dist/assets/{chunk-JWPE2WC7-iYmSeuV1.js → chunk-JWPE2WC7-CnjNdoOE.js} +2 -2
- package/dist/assets/{chunk-MOJQB5TN-BxgBSbz5.js → chunk-MOJQB5TN--BraWVgU.js} +2 -2
- package/dist/assets/{chunk-RYQCIY6F-D5JkyQAc.js → chunk-RYQCIY6F-DLMWDQ0Q.js} +2 -2
- package/dist/assets/{chunk-V7JOEXUC-B_6OmmFi.js → chunk-V7JOEXUC-COYUWngy.js} +2 -2
- package/dist/assets/{chunk-VR4S4FIN-BsoDEIUS.js → chunk-VR4S4FIN-cBShPlG3.js} +2 -2
- package/dist/assets/{chunk-XXDRQBXY-DG-goPoO.js → chunk-XXDRQBXY-BdltLfdH.js} +2 -2
- package/dist/assets/classDiagram-OUVF2IWQ-Dq_ZnTHn.js +2 -0
- package/dist/assets/classDiagram-v2-EOCWNBFH-Dq_ZnTHn.js +2 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-C95YoC9P.js → cose-bilkent-JH36ORCC-CriiiA1W.js} +2 -2
- package/dist/assets/{cynefin-VYW2F7L2-A7Vh09t2.js → cynefin-VYW2F7L2-B6yQgOOu.js} +2 -2
- package/dist/assets/{cynefinDiagram-TSTJHNR4-BI8-04G-.js → cynefinDiagram-TSTJHNR4-C8emEjd0.js} +2 -2
- package/dist/assets/{dagre-VKFMJZFB-owAzFOdh.js → dagre-VKFMJZFB-BIJn-mHf.js} +2 -2
- package/dist/assets/{diagram-FQU43EPY-B8FPxd72.js → diagram-FQU43EPY-Dg9b5T9y.js} +2 -2
- package/dist/assets/{diagram-G47NLZAW-CwooMJF9.js → diagram-G47NLZAW-DNWKcP0M.js} +2 -2
- package/dist/assets/{diagram-NH7WQ7WH-Cr-bMH-G.js → diagram-NH7WQ7WH-Dh7LCsm6.js} +2 -2
- package/dist/assets/{diagram-OA4YK3LP-3rHTMgXR.js → diagram-OA4YK3LP-DGui41hj.js} +2 -2
- package/dist/assets/{diagram-WEI45ONY-BG4PjrBn.js → diagram-WEI45ONY-D8bBXuUh.js} +2 -2
- package/dist/assets/{ebnfDiagram-CCIWWBDH-B6uukG4X.js → ebnfDiagram-CCIWWBDH-DvFVLPnE.js} +2 -2
- package/dist/assets/{erDiagram-Q63AITRT-D3OgqYHT.js → erDiagram-Q63AITRT-BQo91G3p.js} +2 -2
- package/dist/assets/{flowDiagram-23GEKE2U-CxTaDERr.js → flowDiagram-23GEKE2U-fVKeQN9U.js} +2 -2
- package/dist/assets/{ganttDiagram-NO4QXBWP-CN7iAeQh.js → ganttDiagram-NO4QXBWP-A8RklV-w.js} +2 -2
- package/dist/assets/{gitGraphDiagram-IHSO6WYX-DbvcWmmM.js → gitGraphDiagram-IHSO6WYX-WSHAZPJs.js} +2 -2
- package/dist/assets/index-CR9HWWKP.js +132 -0
- package/dist/assets/index-m-kU9uPQ.css +1 -0
- package/dist/assets/{infoDiagram-FWYZ7A6U-DX4NPNgR.js → infoDiagram-FWYZ7A6U-B8BQ-byg.js} +2 -2
- package/dist/assets/{ishikawaDiagram-FXEZZL3T-DtL3v287.js → ishikawaDiagram-FXEZZL3T-Daz7jyWg.js} +2 -2
- package/dist/assets/{journeyDiagram-5HDEW3XC-CtAZFiGl.js → journeyDiagram-5HDEW3XC-11wxjK2f.js} +2 -2
- package/dist/assets/{kanban-definition-HUTT4EX6-CvrCkrKt.js → kanban-definition-HUTT4EX6-DJef0s2q.js} +2 -2
- package/dist/assets/{linear-CbLBdTPp.js → linear-BMG2M7Ce.js} +2 -2
- package/dist/assets/{mermaid.core-zt0bcQ8D.js → mermaid.core-BMJA9D_k.js} +5 -5
- package/dist/assets/{mindmap-definition-LN4V7U3C-DU-r_mE6.js → mindmap-definition-LN4V7U3C-gr1IFJI9.js} +2 -2
- package/dist/assets/{pegDiagram-2B236MQR-CoiPuGzc.js → pegDiagram-2B236MQR-CzsU066n.js} +2 -2
- package/dist/assets/{pieDiagram-ENE6RG2P-ClUZORQg.js → pieDiagram-ENE6RG2P-lpLc7Bkk.js} +2 -2
- package/dist/assets/{quadrantDiagram-ABIIQ3AL-D0i0p2xo.js → quadrantDiagram-ABIIQ3AL-CqhTXAcd.js} +2 -2
- package/dist/assets/{railroadDiagram-RFXS5EU6-wI6Hdpa5.js → railroadDiagram-RFXS5EU6-B89ZlXNF.js} +2 -2
- package/dist/assets/{requirementDiagram-TGXJPOKE-Bm4qvEra.js → requirementDiagram-TGXJPOKE-zNVlbejn.js} +2 -2
- package/dist/assets/{sankeyDiagram-HTMAVEWB-DX8is9uB.js → sankeyDiagram-HTMAVEWB-COkL2oY3.js} +2 -2
- package/dist/assets/{sequenceDiagram-DBY2YBRQ-5RpIQiJh.js → sequenceDiagram-DBY2YBRQ-73X01Y7f.js} +2 -2
- package/dist/assets/{sizeCapture-X5ZJPWSS-ChX6cFSk.js → sizeCapture-X5ZJPWSS-ChraD57T.js} +2 -2
- package/dist/assets/{stateDiagram-2N3HPSRC-Tea20pcW.js → stateDiagram-2N3HPSRC-uJpYsAbo.js} +2 -2
- package/dist/assets/stateDiagram-v2-6OUMAXLB-CFl8uBM6.js +2 -0
- package/dist/assets/{swimlanes-5IMT3BWC-BY7gSBH7.js → swimlanes-5IMT3BWC-DxyGIMCn.js} +3 -3
- package/dist/assets/swimlanesDiagram-G3AALYLV-C-9buTT1.js +9 -0
- package/dist/assets/{timeline-definition-FHXFAJF6-Bq52M8-r.js → timeline-definition-FHXFAJF6-CdGOZgIj.js} +2 -2
- package/dist/assets/{vennDiagram-L72KCM5P-BGBcMmhw.js → vennDiagram-L72KCM5P-BteXKSRO.js} +2 -2
- package/dist/assets/{wardleyDiagram-EHGQE667-T3JqsmMn.js → wardleyDiagram-EHGQE667-DbJh6h5t.js} +2 -2
- package/dist/assets/{xychartDiagram-FW5EYKEG-B0yTh8-d.js → xychartDiagram-FW5EYKEG-qAuHPQiH.js} +2 -2
- package/dist/index.html +2 -2
- package/dist/llms.txt +65 -0
- package/package.json +3 -3
- package/dist/assets/channel-BbrZydfX.js +0 -2
- package/dist/assets/classDiagram-OUVF2IWQ-BvV49U6G.js +0 -2
- package/dist/assets/classDiagram-v2-EOCWNBFH-BvV49U6G.js +0 -2
- package/dist/assets/index-Ca1Qebcu.js +0 -121
- package/dist/assets/index-fh60G2KG.css +0 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-CCBRDLbX.js +0 -2
- package/dist/assets/swimlanesDiagram-G3AALYLV-Dtz4rZCK.js +0 -9
package/README.md
CHANGED
|
@@ -44,8 +44,10 @@ checklist (type, real summary, acceptance criteria, test commands — parsed
|
|
|
44
44
|
from the spec, override always available and labeled); promoting from
|
|
45
45
|
review shows the acceptance criteria as a **Definition of Done** checklist.
|
|
46
46
|
|
|
47
|
-
The **(i) About** button in the top-right cluster
|
|
48
|
-
|
|
47
|
+
The **(i) About** button in the top-right cluster opens the shared
|
|
48
|
+
AbstractFramework About card: the Continuum version, the AbstractFramework and
|
|
49
|
+
AbstractGateway versions your gateway reports, the project links and the
|
|
50
|
+
licence line; see [docs/faq.md](docs/faq.md).
|
|
49
51
|
|
|
50
52
|
The observer app ([AbstractObserver](https://github.com/lpalbou/AbstractObserver))
|
|
51
53
|
watches and discusses the running system; this app develops and deploys it.
|
|
@@ -112,8 +114,12 @@ in portrait and landscape. The layout follows the window as you resize it.
|
|
|
112
114
|
| --- | --- |
|
|
113
115
|
| 1440 px and wider | Sidebar docked; the Team page shows channels, thread and an open panel side by side; board lanes use the full width |
|
|
114
116
|
| 1024 to 1439 px | Sidebar docked; on the Team page an open panel (Members, Files, …) sits beside the thread and the channel list steps aside |
|
|
115
|
-
| 768 to 1023 px (tablets, narrow windows) | The sidebar becomes a menu: open it with the button at the left of the header |
|
|
116
|
-
| Below 768 px (phones) |
|
|
117
|
+
| 768 to 1023 px (tablets, narrow windows) | The sidebar becomes a menu: open it with the button at the left of the header; the Team page shows one pane at a time; Executions and the Inbox keep the list (at least 360 px) beside the detail |
|
|
118
|
+
| Below 768 px (phones) | Lists and details use the full width as flat sections in one scrolling page: the list sits above the selected item, and picking an item scrolls to it; the Team page shows one pane at a time |
|
|
119
|
+
|
|
120
|
+
Every list next to a detail (the Board columns, Executions' **Active** and
|
|
121
|
+
**Recently finished**, the Inbox lists) has a chevron in its header: close it
|
|
122
|
+
to give the detail the room. Each list remembers its state in this browser.
|
|
117
123
|
|
|
118
124
|
On phones and in short landscape windows:
|
|
119
125
|
|
|
@@ -122,13 +128,16 @@ On phones and in short landscape windows:
|
|
|
122
128
|
channel actions and the Assistant / Members / Files / Leaderboard / Desk
|
|
123
129
|
panels. The message box takes the width and Send is an icon button.
|
|
124
130
|
- **Backlog**: each item is a card (title first, actions underneath).
|
|
125
|
-
- **Executions and Inbox**: the list
|
|
131
|
+
- **Executions and Inbox**: the list above the selected item; run facts read
|
|
132
|
+
on one line ("Model gpt-5-codex") and the run's event log is part of the
|
|
133
|
+
page.
|
|
126
134
|
- **Dialogs** (New task, Execute, file viewer) open as sheets from the bottom
|
|
127
135
|
of the screen with their buttons always visible, above the on-screen
|
|
128
136
|
keyboard.
|
|
129
137
|
|
|
130
138
|
On touch screens, buttons, rows and tabs are at least 44 px tall, form fields
|
|
131
|
-
use 16 px text,
|
|
139
|
+
use 16 px text, body text is 15 px and small text 14 px (chips, ids and times
|
|
140
|
+
12–13 px); your text size setting still applies.
|
|
132
141
|
Escape closes the top dialog or drawer; it never closes the work-item drawer
|
|
133
142
|
while you are typing or editing the spec.
|
|
134
143
|
|
package/bin/server.js
CHANGED
|
@@ -41,6 +41,8 @@ const MIME_TYPES = {
|
|
|
41
41
|
'.svg': 'image/svg+xml',
|
|
42
42
|
'.ico': 'image/x-icon',
|
|
43
43
|
'.webmanifest': 'application/manifest+json',
|
|
44
|
+
// llms.txt (dist/llms.txt): the gateway reads it for the Docs assistant.
|
|
45
|
+
'.txt': 'text/plain; charset=utf-8',
|
|
44
46
|
};
|
|
45
47
|
|
|
46
48
|
function getMimeType(filePath) {
|
|
@@ -53,7 +55,9 @@ function getMimeType(filePath) {
|
|
|
53
55
|
// renders in this app, and standard markdown allows remote images — a
|
|
54
56
|
// crafted  would beacon the operator's IP
|
|
55
57
|
// and read-timing to an external host the moment a preview opens. img-src
|
|
56
|
-
// 'self' data: kills that class app-wide.
|
|
58
|
+
// 'self' data: kills that class app-wide. blob: is the browser's own
|
|
59
|
+
// in-page object URL (a file the user picked, e.g. the Docs assistant's
|
|
60
|
+
// image thumbnail): never a network request. script-src 'self' is a backstop
|
|
57
61
|
// belt (the renderer already cannot emit script). ws:/wss: are needed
|
|
58
62
|
// because 'self' does not reliably cover scheme-different WebSocket dials;
|
|
59
63
|
// only our own bundle can open sockets (script-src), so this stays tight.
|
|
@@ -61,7 +65,7 @@ const CSP = [
|
|
|
61
65
|
"default-src 'self'",
|
|
62
66
|
"script-src 'self'",
|
|
63
67
|
"style-src 'self' 'unsafe-inline'", // React style={} attributes
|
|
64
|
-
"img-src 'self' data:",
|
|
68
|
+
"img-src 'self' data: blob:",
|
|
65
69
|
"font-src 'self' data:",
|
|
66
70
|
"connect-src 'self' ws: wss:",
|
|
67
71
|
"object-src 'none'",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{g as p,r as u,d as a}from"./chunk-MOJQB5TN
|
|
2
|
-
//# sourceMappingURL=abnfDiagram-VRR7QNED-
|
|
1
|
+
import{g as p,r as u,d as a}from"./chunk-MOJQB5TN--BraWVgU.js";import{p as f}from"./chunk-JWPE2WC7-CnjNdoOE.js";import{_ as n,l as o}from"./mermaid.core-BMJA9D_k.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-B6yQgOOu.js";import"./index-CR9HWWKP.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
|
|
2
|
+
//# sourceMappingURL=abnfDiagram-VRR7QNED-BkCygcef.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-
|
|
2
|
-
//# sourceMappingURL=arc-
|
|
1
|
+
import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-BMJA9D_k.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|
|
2
|
+
//# sourceMappingURL=arc-DkiQoXvp.js.map
|